package com.lepu.app.usercenter.bean;

import java.util.ArrayList;

import android.content.Context;

import com.app.application.MyApplication;
import com.app.config.UserConfig;
import com.app.utils.Const;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

public class LoginInfo {

	public static final int TYPE_LOGIN = 10;
	public static final int TYPE_LOGOUT = 11;
	
	public String UserID;//	用户ID	string	N		用户ID
	public String LoginToken;//	登录令牌	string	N		用于验证用户登录状态时与UserID一起使用。令牌过期后需要重启登录获取新的令牌。
	public String TrueName;//	用户姓名	string	N		用户姓名
	public String Gender;//	性别	int	N		0：保密 1：男 2：女
	public String BirthYear;//	出生年	int	Y		出生年
	public String BirthMonth;//	出生月	int	Y		出生月
	public String BirthDay;//	出生日	int	Y		出生日
	public String MobilePhone;//	手机号	String	N		手机号   return phone
	public String HospitalID;//	医院ID	int	N		医院ID
	public String HospitalName;//	医院名称	string	N		
	public String DepartmentID;//	医院科室ID	int	N		医院科室ID
	public String DepartmentName;//	科室名称	string	N		
	public String Instrument;//	手术类型	tinyint(1)	Y		1：冠脉支架；2：冠脉造影；3：球囊扩张；4：射频消融' 5 心脏搭桥 6 无
	public String SurgicalTime;//	手术时间	date	Y		
	public String AreaID;//	所在地区	int	Y		
	public String AreaName;//	地区名称	string	Y		包含省市区
	public String Address;//	详细地址	varchar(200)	Y		
	//public String RegisterTime;//	注册日期	date	Y		注册日期
	public ArrayList<LoginInfoIllnessTags> IllnessTags;//	疾病标签	array	Y 疾病标签
			
	public String HasSecurityQuestion;//	是否设置密保问题	int	N		0：未设置  1：已设置
	//public String Avatar;//	用户头像	string	  N		用户头像url  头像规则改变，不用这个字段了
	
	public String HSTAccessToken;//	护生堂访问Token	stirng	Y		未绑定护生堂则为空字符串
	public String HSTAccessTokenExpireTime;//	护生堂访问Token过期时间	datetime	Y		未绑定护生堂则为空字符串
	
	//接口文档没有，也返回过来的字段
	public String NickName;
	public String Phone;//联系电话
	//public String score;//积分
	public String Height;//身高
	
	public String Whatsup;//个性签名
	public String ZipCode;//邮编

	public static LoginInfo parseLoginInfo(String value) {
		
		Gson gson = new Gson();
		LoginInfo model = gson.fromJson(value,
				new TypeToken<LoginInfo>() {
				}.getType());
		return model;
	}
	
	public static void saveLoginInfo(Context context,LoginInfo loginInfo)
	{
		Gson gson = new Gson();
		String value = gson.toJson(loginInfo);

		LoginInfo newLoginInfo = LoginInfo.parseLoginInfo(value);
		MyApplication.getInstance().setLoginInfo(newLoginInfo);
		
		UserConfig.setConfig(context, Const.CONFIG_APP_LOGIN_INFO, value);
	}

}
